/*************************************************
  * 描述：IPv4与long(32位)互相转化
  *
  * File：ipconverter.h
  * Author：chenyujin@mozihealthcare.cn
  * Date：2025/9/12
  * Update：
  * ************************************************/
#ifndef COREXI_COMMON_PC_IPCONVERTER_H
#define COREXI_COMMON_PC_IPCONVERTER_H

#include <common/export.h>
#include <string>
class CXI_COMMON_EXPORT IpConverter
{
public:
	// CSharp中使用long，但是C++中考虑容量、跨平台一致性、Ipv6后续扩展，选用int64_t
	/**
	 * @brief ip地址字符串转换成int64_t
	 * 目前只实现Ipv4
	 * @param ipStr ip地址
	 * @return long
	 */
	static int64_t ipAddress2uint64t(const std::string& ipStr);

	/**
	 * @brief int64_t转换成ip地址字符串
	 * 目前只实现Ipv4
	 * @param ipNum long
	 * @return ip地址
	 */
	static std::string int64t2IpAddress(int64_t ipNum);
};

#endif//COREXI_COMMON_PC_IPCONVERTER_H
